 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package controlador;
import accesoDatos.*;
import logica.*;
import java.util.*;

/**
 *
 * @author user
 */
public class ControladorAspirante {
    
    DAOAspirante daoAspirante;
    
    public ControladorAspirante(){
        daoAspirante=new DAOAspirante();
    }
    
    public String registrarAspirante(String id, String nombre, String telefono, String direccion, String email,boolean copiaCC, String tituloPregrado,
            String universidad, boolean actaGrado, boolean promedio, boolean hojaVida, boolean cartaRecomendacion, boolean cartaMotivacion, boolean reciboPago,
            String cod_programa){
        
        String periodoIns = obtenerPeriodo();
        Double calificacion=0.0;
        Aspirante aspirante = new Aspirante(id, nombre, telefono, direccion, email, periodoIns, copiaCC, tituloPregrado, universidad, actaGrado, promedio, hojaVida, cartaRecomendacion, cartaMotivacion, reciboPago, cod_programa, calificacion);
        
        int r = daoAspirante.guardarAspirante(aspirante);
        
        if(r==1) return "El aspirante se ha guardo correctamente";
        return "El proceso no fue finalizado correctamente, vuelva  a intentarlo";
    }
    
    public Aspirante consultarAspirante(String identificacion, String periodo){
        Aspirante aspirante = new Aspirante();
        
        aspirante=daoAspirante.consultarAspirante(identificacion,periodo);
        
        return aspirante;
    }
    
    public String registrarCalificacion(String idAspirante, double calificacion){
        
        String periodo = obtenerPeriodo();
        String msj;
        
        int x = daoAspirante.registrarCalificacion(idAspirante, calificacion, periodo);
        
        if(x==1){
            msj="Se registro la calificacion del aspirante correctamente";
            if(calificacion>=60){
                ControladorEstudiante ce = new ControladorEstudiante();
                Aspirante a = consultarAspirante(idAspirante,periodo);
                ce.insertarEstudiante(a.getId(),a.getNombre(),a.getTelefono(),a.getDireccion(),a.getEmail(),a.getCodPrograma());
            }
        }
        else msj="No se registro la calificacion del aspirante";
        
        System.out.println(msj + "al registrar la calificacion de aspirante: " +x);
        return msj;
    }
    
    public Vector verPuntajes(String cod_prog, String periodo){
        Vector v = new Vector(1,1);
        v=daoAspirante.generarPuntajes(cod_prog, periodo);
        
        return v;
    }
    
    public Vector documentacionPendiente(String id_aspirante){
       Vector v= new Vector();
       
        Aspirante a = new Aspirante();
        a= daoAspirante.generarDocumentacionPendiente(id_aspirante);
        

              
               
               
               v.add(a.isCopiaCC());
               v.add(a.isActaGrado());
               v.add(a.isPromedio());
               v.add(a.isHojaVida());
               v.add(a.isCartaRecomendacion());
               v.add(a.isCartaMotivacion());
               v.add(a.isReciboPago());
              
       
return v;
      
       
   }
    
    private String obtenerPeriodo(){
        
        Calendar cal = Calendar.getInstance();
        String periodo;
        int mes = cal.get(Calendar.MONTH);
        int ano = cal.get(Calendar.YEAR);
        
        if(mes<=6) periodo = ano + "-I";
        else periodo = ano + "-II";
        
        return periodo;
    }
}
